home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / GIMP 2.6.8 / gimp-2.6.8-i686-setup.exe / {app} / share / gimp / 2.0 / scripts / paste-as-brush.scm < prev    next >
Text File  |  2009-12-15  |  3KB  |  76 lines

  1. ; GIMP - The GNU Image Manipulation Program
  2. ; Copyright (C) 1995 Spencer Kimball and Peter Mattis
  3. ;
  4. ; script-fu-paste-as-brush
  5. ; Based on select-to-brush by Copyright (c) 1997 Adrian Likins
  6. ;
  7. ; This program is free software; you can redistribute it and/or modify
  8. ; it under the terms of the GNU General Public License as published by
  9. ; the Free Software Foundation; either version 2 of the License, or
  10. ; (at your option) any later version.
  11. ;
  12. ; This program is distributed in the hope that it will be useful,
  13. ; but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. ; GNU General Public License for more details.
  16. ;
  17. ; You should have received a copy of the GNU General Public License
  18. ; along with this program; if not, write to the Free Software
  19. ; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  20.  
  21.  
  22. (define (script-fu-paste-as-brush name filename spacing)
  23.  
  24.   (let* ((brush-image (car (gimp-edit-paste-as-new)))
  25.          (brush-draw 0)
  26.          (type 0)
  27.          (path 0))
  28.  
  29.     (if (= TRUE (car (gimp-image-is-valid brush-image)))
  30.       (begin
  31.         (set! brush-draw (car (gimp-image-get-active-drawable brush-image)))
  32.         (set! type (car (gimp-drawable-type brush-draw)))
  33.         (set! path (string-append gimp-directory
  34.                                   "/brushes/"
  35.                                   filename
  36.                                   (number->string brush-image)
  37.                                   ".gbr"))
  38.        
  39.         (if (= type GRAYA-IMAGE)
  40.             (begin
  41.                 (gimp-context-push)
  42.                 (gimp-context-set-background '(255 255 255))
  43.                 (set! brush-draw (car (gimp-image-flatten brush-image)))
  44.                 (gimp-context-pop)
  45.             )
  46.         )
  47.        
  48.         (file-gbr-save RUN-NONINTERACTIVE
  49.                        brush-image brush-draw path path
  50.                        spacing name)
  51.        
  52.         (gimp-image-delete brush-image)
  53.        
  54.         (gimp-brushes-refresh)
  55.         (gimp-context-set-brush name)
  56.       )
  57.       (gimp-message _"There is no image data in the clipboard to paste.")
  58.     )
  59.   )
  60. )
  61.  
  62. (script-fu-register "script-fu-paste-as-brush"
  63.   _"New _Brush..."
  64.   _"Paste the clipboard contents into a new brush"
  65.   "Michael Natterer <mitch@gimp.org>"
  66.   "Michael Natterer"
  67.   "2005-09-25"
  68.   ""
  69.   SF-STRING     _"Brush name" "My Brush"
  70.   SF-STRING     _"File name"  "mybrush"
  71.   SF-ADJUSTMENT _"Spacing"    '(25 0 1000 1 1 1 0)
  72. )
  73.  
  74. (script-fu-menu-register "script-fu-paste-as-brush"
  75.                          "<Image>/Edit/Paste as")
  76.